// 读取本地 token（你也可以从 Pinia/Vuex 里读，这里做了兜底）
export function getToken() {
    return localStorage.getItem('token') || '';
}

// 解析 JWT payload（容错：去掉 URL-safe 字符并补齐 padding）
export function parseJwt(token) {
    try {
        const part = token.split('.')[1];
        if (!part) return null;
        const b64 = part.replace(/-/g, '+').replace(/_/g, '/');
        const pad = b64.length % 4 === 2 ? '==' : (b64.length % 4 === 3 ? '=' : '');
        const json = atob(b64 + pad);
        return JSON.parse(json);
    } catch (_) {
        return null;
    }
}

// 是否有效（包含 exp，并且当前时间 < exp；没有 exp 则按无效处理更安全）
export function isTokenValid(token) {
    if (!token) return false;
    const payload = parseJwt(token);
    if (!payload || !payload.exp) return false;
    const nowSec = Math.floor(Date.now() / 1000);
    return nowSec < Number(payload.exp);
}
